/* 输出一个单链表

假设我们有一个单链表（在 递归和堆栈 那章有讲过）

编写一个可以逐个输出链表元素的函数 printList(list)。

使用两种方式实现：循环和递归。

哪个更好：用递归还是不用递归的？ */

// 循环
/* const printList = (list) => {
  let tmp = list;

  while (tmp) {
    console.log(tmp.value);
    tmp = tmp.next;
  }
}; */

// 递归
const printList = (list) => {
  if (list) {
    console.log(list.value);
    printList(list.next);
  }
};

let list = {
  value: 1,
  next: {
    value: 2,
    next: {
      value: 3,
      next: {
        value: 4,
        next: null,
      },
    },
  },
};

printList(list);
